-
Notifications
You must be signed in to change notification settings - Fork 3.5k
[google_maps_flutter] Replace deprecated color APIs in platform interface #10477
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[google_maps_flutter] Replace deprecated color APIs in platform interface #10477
Conversation
This fixes two sets of API deprecations:
- Within the package, cloudMapId was deprecated in the platform
interface, and replaced with mapId. This updates everything that's not
client-facing to use the mapId name instead (except for local
variables in native code, where it ensure there's no potential
confusion with the plugin-level map ID that tracks map instances in
the plugin).
- `Color.value` is deprecated. Rather than just replace it with
`toARGB()`, this adds structured data to the Pigeon interface, so that
it's not relying on magic knowledge on both sides of the interface
that the ints are ARGB:
- On Android, where the native SDK color representation is just a
32-bit ARGB, this adds a wrapper class to make that explicit in the
Pigeon API surface.
- On iOS, where `UIColor` uses four doubles, this passes the
underlying `Color` doubles directly via the wrapper class, so that
it's not lossy.
- For legacy JSON representations, it continues to use the equivalent
`toARGB()` directly, since it must remain compatible.
This also annotates a couple of intentional internal uses of the
deprecated `legacy` renderer type so that it won't show up in future
repository deprecation audits.
Also pays down some tech debt by renaming the now-very-poorly-named
FLTGoogleMapJSONConversions.* file to FGMConversionUtils, since it is
now mostly Pigeon type conversions. It also renames the legacy
FLTGoogleMapJSONConversions bag-of-class-methods class to reflect that
it is now only used for heatmaps, the last type that still uses JSON
serialization in the Pigeon interface
(flutter/flutter#117907).
Part of flutter/flutter#159739
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Code Review
This pull request correctly replaces the deprecated Color.value API with its recommended replacement, Color.toARGB32(), across the google_maps_flutter_platform_interface package. The changes are applied consistently for serialization logic in both the main codebase and the associated tests. The package version and changelog have been updated to reflect these changes. The code is clean and the changes are well-executed.
bparrishMines
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
flutter/packages@b1e2fb0...e67b6be 2025-11-21 [email protected] [file_selector] Implement canCreateDirectories on macos and linux (flutter/packages#10443) 2025-11-21 [email protected] [various] Replace deprecated Color.value in SVG packages (flutter/packages#10482) 2025-11-20 [email protected] [pigeon] Fixes compilation error with unbounded type parameter for InstanceManager (flutter/packages#10483) 2025-11-20 [email protected] [webview_flutter] Replace deprecated Color.value (flutter/packages#10480) 2025-11-20 [email protected] [google_maps_flutter] Replace deprecated color APIs in platform interface (flutter/packages#10477) 2025-11-20 [email protected] Roll Flutter (stable) from b45fa18 to f5a8537 (12 revisions) (flutter/packages#10478) 2025-11-20 [email protected] Roll Flutter from de4be4f to 9f383e0 (21 revisions) (flutter/packages#10481) If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/flutter-packages-flutter-autoroll Please CC [email protected] on the revert to ensure that a human is aware of the problem. To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose To report a problem with the AutoRoller itself, please file a bug: https://issues.skia.org/issues/new?component=1389291&template=1850622 Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
…r#178927) flutter/packages@b1e2fb0...e67b6be 2025-11-21 [email protected] [file_selector] Implement canCreateDirectories on macos and linux (flutter/packages#10443) 2025-11-21 [email protected] [various] Replace deprecated Color.value in SVG packages (flutter/packages#10482) 2025-11-20 [email protected] [pigeon] Fixes compilation error with unbounded type parameter for InstanceManager (flutter/packages#10483) 2025-11-20 [email protected] [webview_flutter] Replace deprecated Color.value (flutter/packages#10480) 2025-11-20 [email protected] [google_maps_flutter] Replace deprecated color APIs in platform interface (flutter/packages#10477) 2025-11-20 [email protected] Roll Flutter (stable) from b45fa18 to f5a8537 (12 revisions) (flutter/packages#10478) 2025-11-20 [email protected] Roll Flutter from de4be4f to 9f383e0 (21 revisions) (flutter/packages#10481) If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/flutter-packages-flutter-autoroll Please CC [email protected] on the revert to ensure that a human is aware of the problem. To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose To report a problem with the AutoRoller itself, please file a bug: https://issues.skia.org/issues/new?component=1389291&template=1850622 Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
Replaces the deprecated
Color.valuewith the replacementtoARGB(). Since this is for legacy JSON representations, it continues it must remain compatible, so uses the same representation (unlike #10474 where it's replaced with structured representations).Part of flutter/flutter#159739
Pre-Review Checklist
[shared_preferences]pubspec.yamlwith an appropriate new version according to the pub versioning philosophy, or I have commented below to indicate which version change exemption this PR falls under1.CHANGELOG.mdto add a description of the change, following repository CHANGELOG style, or I have commented below to indicate which CHANGELOG exemption this PR falls under1.///).Footnotes
Regular contributors who have demonstrated familiarity with the repository guidelines only need to comment if the PR is not auto-exempted by repo tooling. ↩ ↩2 ↩3